Modern trunked radio communications systems typically include geographically distributed "satellite" receiving sites in addition to one or more main transmitting site. Consider a simple system including only one main transmitting/repeater site. The main transmitting/repeater site is typically located at a relatively high elevation (e.g., on the top of a hill, mountain or tall building) and generally is provided with relatively high powered RF transmitters to permit the site to "cover" a large desired geographical service area. The main site transmitter output power and other factors contributing to the "effective radiated power" (ERP) are selected so that signals transmitted by the main site can be received at acceptable signal strength throughout the desired service area.
Unfortunately, most or all of the mobile and portable RF transceivers served by the main site cannot provide the same high effective radiated power as is provided by the main site because of several limiting factors.
While the main site transmitter power output can be in the range of several hundreds or thousands of watts RF, a mobile transceiver may be capable of providing only 5 to 25 watts of RF at its output and portable (e.g., hand held) transceivers may be capable of generating even less power (e.g., on the order of 1 watt or even less). Size and cost limitations to a large degree dictate the limited RF power outputs of mobile and portable units, but power source limitations are perhaps the most critical factor. A portable transceiver using a few small nickel-cadmium battery cells as its power source can provide only low power output levels. Mobile transceivers can obtain additional power from a vehicle electrical system, but even this power source imposes serious constraints on the maximum power supply current the transceiver can draw.
Since the various mobile and portable transceivers within a radio communications system have vastly lower effective radiated power outputs than do the transmitters at the main site, all mobile/portable transceivers within the service area can typically receive the strong transmissions from the main site but the receivers located at the main site may not receive the weaker transmissions from the mobile and portable transceivers (or may receive the transmissions at signal strengths which are too low to provide useful, reliable communications). In other words, the "talk in" range of the main site is typically less than its "talk out" range.
As is well known, multiple receiving sites have been employed in the past to help solve this problem. Typically, so-called "satellite" receiving sites are provided at various geographical locations within the service area. The main site is provided with a full complement of receivers, and similar receivers are provided at each satellite receiving site. When a mobile or portable receiver transmits within the service area, some or all of the satellite receiving sites and the main site may receive the transmission. Depending upon where in the service area the transmitting mobile/portable happens to be at the time it transmits, some sites will receive the transmission at high signal strength levels, other sites will receive the transmission at lower levels, and some sites may not receive the transmission at all, for example, if an obstruction or very long signal path exists between the mobile/portable and the site.
When digital RF communications are involved, it is desirable to select only the "best" version of the received message and to discard or ignore redundant versions of the received message (this process can be called "redundancy removal"). The main site need only process a single version of the message--and to reduce error it should process the "best" version of that message (e.g., the version with the least "bit error rate" or other similar standard relating to the correctness of digital message reception. As the various receiving sites receive a given mobile/portable transmission at different average signal strengths and under different noise and other conditions, it may, for example, be desirable in some systems to select the version of the transmission received with the best quality (e.g., highest average signal strength or lowest bit error rate) since that version is most likely to have carried the communicated information reliably and correctly (noise, fading and other effects can degrade reception of weak signals).
In many prior art systems, all sites which receive the transmission generate an indication of the quality of the received signal (e.g., based on received signal strength and/or other factors). The overall communication system then typically may "vote" based on the quality indications reported by the different receiving sites to select a single version of the received signal for use. Commonly assigned U.S. Pat. No. 4,317,218 to Perry (1982) describes in detail one example of this type of prior art voting circuit within a repeater station control system. See also, for example, U.S. Pat. No. 4,013,962 to Beseke et al (1977). It is also generally known to calculate the "BER" (bit error rate) of a received digital signal as an indication of the quality and reliability of the received signal.
Things happen very rapidly in state-of-the-art digital trunking systems such as The General Electric Company 16-PLUS Public Service Trunking (PST) digitally trunked radio communications system. The architecture and operation of this system is disclosed in much greater detail in the following co-pending commonly assigned U.S. patent applications (which are incorporated by reference herein):
Ser. No. 07/056,922 Childress et al filed Jun. 3, 1987, issued Feb. 29, 1990 now U.S. Pat. No. 4,905,302 PA1 Ser. No. 07/057,046 Childress et al filed Jun. 3, 1987; and PA1 Ser. No. 07/085,572 Nazarenko et al filed Aug. 14, 1987, issued May 30, 1989 now U.S. Pat. No. 4,835,731. PA1 (a) the main site receives and decodes the message; PA1 (b) satellite receiving site (1) receives and decodes the message; PA1 (c) satellite receiving site (2) receives and decodes the message; PA1 (d) satellite receiving sites (1) and (2) and the main site communicate the message versions they received (assuming they each received the message) to a centralized voter (e.g., located at the dispatch console); PA1 (e) the voter "votes" on the versions of the messages received by the main and satellite sites to select a single version of the message (and preferably also discards all non-selected versions while somehow ensuring that the messages being discarded are in fact redundant versions of the same message rather than different messages); PA1 (f) the system processes the selected version of the message and generates an appropriate responsive message; and PA1 (g) the generated responsive message is transmitted over the main site outbound control channel for reception by the mobile. PA1 U.S. Pat. No. 4,628,311 to Milling PA1 U.S. Pat. No. 4,623,886 to Livingston PA1 U.S. Pat. No. 4,395,710 to Einolf Jr. et al PA1 U.S. Pat. No. 4,638,311 to Gerety PA1 U.S. Pat. No. 4,644,348 to Gerety PA1 U.S. Pat. No. 4,652,873 to Dolsen et al PA1 U.S. Pat. No. 3,701,109 to Peters PA1 U.S. Pat. No. 4,232,294 to Burke et al PA1 U.S. Pat. No. 4,593,282 to Acampora et al PA1 U.S. Pat. No. 4,642,630 to Beckner et al PA1 U.S. Pat. No. 4,583,089 to Cope PA1 U.S. Pat. No. 4,677,612 to Olson et al PA1 U.S. Pat. No. 4,682,324 to Ulug PA1 U.S. Pat. No. 4,707,693 to Hessel
Briefly, GE's PST system communicates digital data at 9600 baud in "slotted" message frames each having a duration of 30 ms. These "slots" are closely (although not exactly) synchronized in time across all channels (for both inbound and outbound communications) and follow the "slot" timing of the digital control channel. Some messages use only a single slot, while other messages occupy two slots.
A mobile transceiver requiring a channel assignment will in GE's preferred system transmit a channel assignment request message in one or more successive predefined time slots on the inbound control channel and then wait for a responsive two-slot channel assignment message to be transmitted by the main site on the outbound control channel. The mobile transceiver expects to receive a response (of some sort) to its request message within a relatively short time period (e.g., so the mobile can rapidly determine if its request was ignored and retransmit the request). In configurations including multiple satellite receiving sites, it is necessary during this short time period for the system to select a single version of the received message and pass it to the main site for processing and response. In a system having a main site and two satellite receiving sites, for example, the following may occur:
The term "system latency" refers to the amount of time it takes for a message to propagate through the system. For example, one measure of system latency is the delay from which a mobile transceiver user keys his microphone (e.g., thereby generating a working channel assignment request) to the time the mobile transceiver receives a responsive message back from the system. Obviously, it is desirable to minimize system latency since rapid access and rapid system response provide great advantages in terms of user friendliness, system throughout, and the like. In the GE PST system, this particular system latency parameter has a maximum of 90-100 milliseconds--and the mobile will automatically retransmit its request if such a time period elapses and no response has yet been received. Thus, it is generally necessary for steps (a)-(g) described above to be performed within 100 ms or less in the GE PST system.
For such minimal system latency to be achieved, each of steps (a)-(g) must be performed as rapidly as possible. The delays introduced by some of the steps cannot be significantly reduced because of practical considerations and the laws of physics (e.g., it takes a certain finite amount of time to receive and decode an RF message being transmitted, it takes a finite amount of time to transmit a received message over a landline from a satellite site to a central location, and it takes a certain finite amount of time to transmit a responsive RF message over the control channel). The time required by step (e) to "vote" on one received message and to discard redundant versions of the same message should therefore be minimized in order to reduce overall system latency.
FIG. 1 is a schematic block diagram of a prior art digital voter architecture 50 used in the past by GE in its Voice Guard Digital Voter (described in greater detail in GE Publication LBI-31600). Voter 50 includes a digital selector 52 and plural digital receivers 54 connected together via a bus 56. In the embodiment shown, digital receiver 54(1) receives messages in digital form from receiver site 1, digital receiver 54(2) receives messages in digital form from receiver site 2, . . . , and digital receiver 54(N) receives messages in digital form from receiver site N. Each receiver 54 stores the messages it receives in a temporary buffer for selection by digital selector 52.
Digital selector 52 must determine which of digital receivers 54 have stored received messages and select one of multiple redundant messages if more than one digital receiver has stored the same received message. In the past, these steps were performed by a polling process over the bus 56. Specifically, digital selector 52 (or some other "bus controller" component) would periodically and successively send a signal over bus 56 (which could be a conventional serial or parallel data bus) to each of the digital receivers 54 in turn. This signal in effect "asked" each of the digital receivers 54, one at a time, whether they had received a message. If one or more of polled digital receivers 54 responded that it had received a digitized speech message, those receivers would typically send an indication of the quality of the signal they had received (e.g., the bit error rate of the received signal) to the digital selector 52 (e.g., either directly in response to the initial poll, or in a further communication subsequent to the initial poll). Digital selector 52 would grant the digital receiver which received the message with the lowest BER permission to transmit its received message to it over the bus 56. Contentions for bus 56 were avoided because the only time a digital receiver 54 could transmit on the bus was when it was granted permission to do so by digital selector 52--and the digital selector would only grant such permission to one digital receiver 54 at a time.
A significant problem with the polling approach is that it introduces too much delay for PST and therefore unacceptably increases system latency. Each digital receiver 54 must be polled individually, and each poll takes a certain amount of time T. If N is large (i.e., there are a large number of satellite sites), the process of polling all digital receivers will take (T*N) seconds. In the worst case w here a satellite site n is the only site to receive a particular RF message (from say a portable transceiver) and at the time this received message is communicated to corresponding digital receiver 54(n) the digital selector 52 has just finished polling digital receiver 54(n) and is about to poll digital receiver 54(n+1) (assuming a polling sequence in ascending order of 1-N), it will take the full (T*N) seconds before digital selector 52 again polls digital receiver 54(n) to determine that a message has been received. Additional time will then be required to notify digital receiver 54(n) that it has been granted permission to transmit over bus 56, and still additional time is required to actually transfer the message from digital receiver 54(n) to digital selector 52.
An alternate technique used in the past to communicate messages from the digital receivers 54 to digital selector 52 uses acknowledgements to eliminate the requirement of a bus controller (and the additional time delay a controller introduces). In this alternate arrangement, an "ACK/NACK" technique is used to resolve "bus contentions" that occur whenever two digital receivers 54 try to simultaneously transmit messages over bus 56. Using this technique, each digital receiver 54 can autonomously transmit on bus 56 as soon as it receives a message so long as no other digital receiver is already actively transmitting. Digital selector 52 receives all messages transmitted on bus 56, places a responsive "acknowledgement" (ACK) message onto the bus whenever it correctly receives a message, and places a "negative acknowledgement" (NACK) message onto the bus whenever it incorrectly receives a message. Since upon the occurrence of a bus contention digital selector 52 does not correctly receive any of the contending messages, it sends a NACK signal which causes both of the transmitting digital receivers 54 to resend their messages. This technique thus avoids the time overhead involved in polling and would appear to provide a very efficient solution to a multi-site trunked digital voter.
However, this ACK/NACK arrangement described above cannot provide satisfactory performance in a digital voter for a trunking system such as GE's PST system--because it is possible and probable that multiple digital receivers will simultaneously attempt to transmit on bus 56. This is because all satellite sites typically receive a given transmitted RF message at about the same time (slight variations in receive time are attributable to different RF path lengths between the transmitting station and the satellite receiver stations) and communicate the received messages to the voter at about the same time (variations in communication time are attributable to differences in landline distance for example). Thus, it is highly probable that several versions of the same message will arrive almost simultaneously at different voter digital receivers 54. Each of the different voter digital receivers 54 may then use "carrier sense" or some other similar technique before attempting to transfer their received message to the selector to ensure that bus 56 is not in use --but will find that the bus is not in use (since none of the other digital receivers which have received versions of the same message have yet had the chance to begin transmitting). Consequently, some or all of the digital receivers 54 will begin transmitting on bus 56 virtually simultaneously--causing a "bus collision" which prevents digital selector 54 from correctly receiving any of the messages placed on the bus. While the ACK/NACK technique typically will eventually resolve the contention (e.g., especially when used in conjunction with a "random retry" or other technique preventing further bus collisions by the contending digital receivers 54), the contention resolution takes far too much time and introduces too much delay into the voting process.
Various bus contention resolution schemes are known in the computer field for efficiently resolving contentions on a common bus. The following is a (by no means exhaustive) listing of a few examples of such contention resolution schemes:
However, it is not readily apparent if or how any of the techniques described in the patents listed above might be applied to a digitally trunked communication system satellite receiving site digital voter. In particular, the digital voter requirements for the GE 16 PLUS digitally trunked PST communications system are highly unusual and are not readily analogous to, for example, the peripheral bus of a computer system or a local area network (LAN).
In the case of a computer system peripheral bus or LAN, for example, the statistical probability of two nodes transmitting during a certain time period generally is directly proportional to the duration of the time period. It is relatively unlikely that two nodes will need to independently initiate a new bus communication at exactly the same instant in time (i.e., unless the bus or LAN has been unavailable for awhile because of other communications or the like or unless the peripheral communications are actually being initiated in response to the same previous bus communication). On the other hand, it may be relatively likely that two nodes will need to transmit at nearly the same time (e.g., depending upon the number of nodes on the bus/LAN and various other factors). Thus, the probability of a contention on the "macro" level (e.g., overlapping but not exactly simultaneous communications) is much higher than the probability of a contention on the "micro" level (e.g., where two nodes need to transmit beginning at almost exactly the same time). In addition, the problem of redundant contending messages (and "redundancy removal") does not exist on a LAN or peripheral bus--since all of the contending messages need to be communicated sooner or later.
In contrast, in the GE PST system presents entirely different contention problems because of system considerations. In particular, in the GE PST system all "inbound" messages are transmitted beginning at the edge of a 30 ms "slot edge" (defined by synchronization signals on the outbound control and working channels, with the sync signals on each working channel being synchronized with the control channel sync signals). If two mobile/portable transceivers attempt to transmit at or near the same time, their transmissions will either fall within different inbound slots (and thus be separated by 30 ms)--or they will fall within the same slot (and thus be virtually simultaneous). However, a contention between RF signals on the inbound control channel typically results in destroying both transmissions and causing both contending transmitters to "retry" (e.g., using random retry wait periods).
Hence, it is highly probable in the GE PST System that all satellite sites receiving a message within a given inbound "slot" will be receiving the same message! Likewise, the digital receivers 54 associated with the satellite sites will receive the corresponding digital messages (and thus need to apply the messages to the bus 56) virtually simultaneously. These messages are therefore likely to be redundant versions of the same message of which only one version needs to be selected and communicated to digital selector 52 (and the non-selected versions of which should be discarded immediately to allow the receivers to handle messages in the next incoming slot).
Hence, in the GE PST system, the probability of "macro" contentions on bus 56 is small or nonexistent, the probability of "micro" contentions is relatively high (in fact, virtually all contentions will be of the "micro" variety), and the it is extremely likely that contending messages will be redundant versions of the same message.
A prior approach by Brown et al described in copending patent application Ser. No. 07/364,907 filed on Jun. 12, 1989 has proven to be highly successful in overcoming many/all of the problems described above. That prior approach provides a digital voter arrangement which uses a "windowing" technique to arbitrate bus contention on an asynchronous common communication link. This digital voter arrangement reduces communication latency by entirely eliminating bus assignment by a controller (and eliminates the corresponding message overhead required by the controller), yet still prevents message collisions on the common bus and efficiently eliminates most of the redundant messages.
Briefly, in the prior Brown et al approach a "serve request" type communications line (FSL) connects a plurality of digital receivers (receiving messages from corresponding plural RF receiving sites) contending for use of a serial data line (BSL). Data is transmitted from the digital receivers to a digital selector over the BSL. Bus collisions are prevented and redundancy removal is provided through two interrelated mechanisms.
The first mechanism relates to the FSL, which is normally in an inactive state but can be seized (controlled) by any of the plural digital receivers. When a digital receiver has received a message from its associated satellite receiver and wishes to transfer this message to the digital selector, it must first gain access to the FSL (no digital receiver is authorized to transmit on the BSL unless it has first seized the FSL). To gain access to the BSL, it tests the state of the FSL. If the FSL is inactive, the digital receiver seizes the FSL in preparation for transmitting on the BSL. In the preferred embodiment, whenever a digital receiver seizes the FSL, it continues to hold the FSL in the active state for the duration of a redundancy removal period. Any digital receiver having a message to transfer on the BSL which finds the FSL already seized assumes in the preferred embodiment that its message is redundant with the one to be transmitted by the digital receiver already controlling the FSL and therefore discards its message.
The arbitration performed by the FSL mechanism is, however, generally insufficient to eliminate all collisions on the BSL in the GE PST system. This is because it is possible in the GE PST trunking system that, due to the synchronized "slotted" nature of all incoming RF messages from mobile/portable transceivers, several digital receivers will successfully seize the FSL at about the same time. Thus, in this environment successful seizure of the FSL does not guarantee exclusive access to the BSL. Accordingly, Brown et al provide a further mechanism to prevent BSL collisions and remove further redundant messages.
Briefly, this further mechanism involves assigning a unique "start transmission" time window to each digital receiver contending for the BSL. Each digital receiver which has successfully seized the FSL times a duration unique to it beginning from the time it seized the FSL. During this duration, the digital receiver "listens" on the BSL for the start of transmission of a digital receiver having an "earlier" window assignment. If no start of transmission is detected by the time the digital receiver's unique delay time has elapsed, the digital receiver begins to transmit its message on the BSL. Digital receivers with "later" window assignments will detect this transmission, abort their own attempts to transmit on the BSL, and discard those messages--thus preventing message collisions on the BSL.
The Brown et al system has been highly successful. However, it has a shortcoming in that it provides no mechanism to select the "best" received digitized message. When received analog signals are being voted upon, it typically does not matter which of several received analog signals is selected by the voting process so long as all of those several signals have acceptable received signal strength (RSSI) (the intelligibility of each of the different signals can be guaranteed to be acceptable so long as each of the signals is received at above a certain minimum acceptable signal strength). Digitized speech and other digital messages present vastly different considerations, however. For reliable decoding of digital messages, it is important that the very "best" version of the message (i.e., the version of the message received with the least amount of errors) is used for decoding and other further processing.
It would be highly desirable to provide a digital voter for a high data rate digitally trunked radio communication system that eliminates data collisions on the voter bus, removes most or all redundant messages, does not significantly impact system latency, and selects the most reliable (i.e., most "error free") version of the digital message.
The term "Voice Guard" as used by General Electric Company typically refers to digitized encrypted speech. There is often a need in modern trunked RF communications systems to provide secure voice (or data transmission), and this need is typically solved by digitizing the speech at the transmitter end and then subjecting the digitized speech to some form of encryption (e.g., the well-known DES encryption standardized by the National Bureau of Standards) before transmitting the speech over a communications channel. The speech is decrypted (using for example a similar DES decryption technique initialized with a decryption "key" matching the key used at the transmitter for the encryption process) and converted back into analog form at the receiver. To decrypt and decode the transmitted speech, an eavesdropper would have to use appropriate decryption circuitry initialized with the same decryption "key" used by the transmitter and the intended receiver. There are hundreds of millions of possible such keys, making it extremely unlikely that an unintended receiver could successfully decrypt and decode the transmission.
The present invention relates to an improvement on the Brown et al digital voting technique to enable that technique to process digital Voice Guard signals and other digital messages--and specifically to enable the voting process to select the "best" version of several different received versions of the digital/digitized message.
Briefly, voting begins when a digital receiver receives a block of voice guard data (this block corresponding to a frame in the preferred embodiment) from its associated remote receiver. The digital receiver calculates an indication of the amount of error in the received signal (e.g., BERC --"bit error rate code" in the preferred embodiment) and uses this indication to generate a further value based on the current and recent past error indications. The digital receiver then attempts to send a message to the digital selector indicating that it has block of Voice Guard data to send to the main site. This message functions as a request to send a block of data.
The selector acquires control of the bus connecting the selector to the digital receivers (e.g., by asserting a bus control line). The digital selector then, in the preferred embodiment, delays a period of time equal to the longest delay time associated with a digital receiver. This longest delay time accounts for the transmission delay between remote receiving sites and associated digital receivers (the remote receiving sites are typically located different distances from the voter) and also accounts for the time it takes a digital receiver to calculate the error indication discussed above. Thus, this longest delay time ensures that all of the digital receivers receiving redundant versions of the message will have already received those message versions and calculated BERC values by the time the digital selector acts.
After waiting this longest delay time, the digital selector sends a message to all of the digital receivers requesting the receivers to send their block of data (if they have received one) over the common bus. Each digital receiver uses the message transmitted by the digital selector as a timing synchronization pulse ("clear to send") to start an internal transmit timer. The digital receivers transmit their respective received data blocks after waiting respective delay periods timed by their respective transmit timers. The delay period waited by a particular digital receiver is determined based on a predetermined "transmit slot number" uniquely associated with the digital receiver, the error indication calculated by the digital receiver, and a further constant value (which assures a sufficient minimum spacing in time between the transmissions of two digital receivers to allow the later-transmitting receiver to detect that the bus is in use and abort transmission).
The digital receiver having the "best" data to transmit (i.e., having calculated the lowest BERC) is thus the first digital receiver to transmit --and all other digital receivers having data to transmit simply abort their transmission upon sensing the first transmission.
In the preferred embodiment, the times during which the digital receivers may transmit the received data over the common bus may be considered to be divided into "windows" of time. In the preferred embodiment, there is a sequence of several (e.g., ten or fifteen) time windows (W(1)-W(n) corresponding to several different BERC values 1-n (the total time taken up by this sequence of windows is less than the time it takes for a new message to be received by a remote site, transmitted from the remote site to its associated digital receiver, and received and processed by the digital receiver to provide a BERC indication).
Any digital receiver calculating a BERC value of 1 (on the order of zero percent received bit error) will attempt to transmit in the first window W(1) in the sequence. Any digital receiver calculating a BERC value of 2 (corresponding to a slightly higher error rate) will attempt to transmit in the next window W(2) within the sequence of windows but will abort its transmission if it detects a digital receiver transmission in window W(1). Similarly, any digital receiver calculating a BERC value of n (corresponding to the poorest error rate) will attempt to transmit its received block of data in the last window W(n) but will abort its transmission if any digital receiver transmits in any of the preceding windows W(1)-W(n-1). Hence, transmission of a low BERC message on the bus will prevent digital receivers from transmitting higher BERC messages on the bus--providing removal of redundant messages and ensuring that the digital selector receives only the message with the lowest BERC.
It is possible for two or more digital receivers to receive a message with the same BERC-- so that two or more digital receivers must contend for the same window W(1)-W(n). To prevent such contentions in the preferred embodiment, each of windows W(1)-W(n) is divided into a sequence of transmit time slots S(1)-S(m) corresponding to the number of digital receivers 1-m (in the preferred embodiment, this number m=63 so that up to 63 remote sites and associated digital receivers can be accommodated). Each digital receiver is preassigned a unique slot number 1-m. The time within a BERC window that a particular digital receiver may transmit depends on the slot number preassigned to the digital receiver.
Assume that two digital receivers R(1) and R(2) (the numbers 1 and 2 corresponding to preassigned slot numbers) have both received a message with BERC=0 and thus both attempt to transmit during BERC time window W(0). Digital receiver R(1) will transmit first during transmit slot S(1). Digital receiver R(2) is scheduled to transmit during slot S(2) (later than slot S(1)) but upon detecting the transmission it aborts its transmission. Thus, not only are bus contentions avoided, but further redundant message removal is also provided.
In the preferred embodiment, it is important that the data rate on the voter bus is significantly higher than the data rate on the communications lines between the satellite receiving sites and the voter. This is because the voting process and the transmission of a block of data over the voter bus must be finished in no more than the time it takes for a new block of data to arrive at a digital receiver from a remote receiving site. In the preferred embodiment, the voter bus data rate is 19.2 kilobaud whereas the data rate on the links between the remote receiving sites and the voter is 9600 baud--thus providing the necessary time for the voting and transfer of data from a digital receiver to the digital selector.
Once the selected digital receiver has finished transmitting the received block of data, it waits until another full block of data has been received from its associated remote receiving site. It then calculates a new BERC error indication and tries to send a message to the digital selector indicating that a new message has arrived and is ready to be voted upon. Voting occurs on a block-by-block (frame by frame) basis with each block being voted on independently.